The communications industry is rapidly changing to adjust to emerging technologies and ever increasing customer demand. This customer demand for new applications and increased performance of existing applications is driving communications network and system providers to employ networks and systems having greater speed and capacity (e.g., greater bandwidth). In trying to achieve these goals, a common approach taken by many communications providers is to use packet switching technology.
Routers are communications devices used in a network to “route” packets through the network. Typically, routers exchange information, using routing protocols, to discover the topology of the network and to determine paths for routing packets through the network. The exchanged information is typically stored in a Routing Information Base (RIB). A router then processes information in the RIB to determine how to forward packets from the router, with this information stored in a Forwarding Information Base (FIB). The FIB typically contains, for each route (e.g., prefix): identification of from which interface to forward a corresponding packet, as well as next hop information, and possibly a label to use when label switched routing is performed. In the core of the network, it is possible for the FIB to contain hundreds of thousands of entries (e.g., one for each route in the FIB). When a router uses a distributed architecture, the same FIB is typically stored on each line card; although in the case of virtual private networks, the FIB stored on different line cards may be different.